package pe.edu.upc.matrix.negocio;

import java.util.Collection;

import pe.edu.upc.matrix.dao.DPublicacion;
import pe.edu.upc.matrix.dao.DCompra;
import pe.edu.upc.matrix.excepcion.EExcepcionDAO;
import pe.edu.upc.matrix.modelo.MCompra;
import pe.edu.upc.matrix.modelo.MPersona;
import pe.edu.upc.matrix.modelo.MPublicacion;
import pe.edu.upc.matrix.util.UConstanteWeb;


public class Ncompra {
	
	public MCompra registrarCompra(MPublicacion mPublicacion, MPersona mPersona, int qtyCantidad, String txtComentario)
			throws EExcepcionDAO {
		
		DCompra dCompra = new DCompra();
		DPublicacion dPublicacion = new DPublicacion();

		MCompra mCompra = new MCompra();
		
		mCompra.setPublicacion(mPublicacion);
		mCompra.setQtyCantidad(qtyCantidad);
		mCompra.setPersona(mPersona);
		mCompra.setTxtComentario(txtComentario);
		
		mCompra = dCompra.registrarCompra(mCompra);
		
		mPublicacion.setQtyStockPublicacion(mPublicacion.getQtyStockPublicacion() - qtyCantidad);
		dPublicacion.actualizarStock(mPublicacion);
		
		if(mPublicacion.getQtyStockPublicacion() == 0){
			mPublicacion.setIdEstadoStock(UConstanteWeb.ID_TIPO_ESTA_STOCK_VENDIDA);
			dPublicacion.actualizarEstadoStock(mPublicacion);
		}		
		
		return mCompra;
	}
	
	public Collection<MCompra> buscarPublicacionesPorComprador(int idPersona) throws EExcepcionDAO {
		
		DCompra dCompra = new DCompra();
		
		return dCompra.buscarPorComprador(idPersona);
	}

}